今天主要針對成分表裡的「食品添加物」做分類,初步分成:香料、防腐劑、乳化劑、色素、其他。
使用者輸入文字內容後,系統就能輸出圓餅圖或其他視覺化的分析結果。
但是!實作之後改動了超多東西的,不停發現盲點... ...
一開始我跑去衛福部食藥署查食品添加物,結果──竟然有 81 頁!
總共有 17 大類,包括:
如果全部 17 類都畫進圓餅圖,光看就能練出老花眼(汗)。
所以我決定簡化,最後將 ADDITIVE_CATEGORIES 歸納為五種:
這樣更直觀,也符合新聞或健康資訊裡最常提到的分類。
本來我想用 Matplotlib 畫圓餅圖,但遇到兩個小麻煩:
所以乾脆改成長條圖,還下載了中文字型。
結果就在準備開工的時候──靈光一閃,發現了一個盲點!
成分表是依含量由多到少排列,例如:
【馬鈴薯、棕櫚油、香辛料、糖、調味劑、大豆水解蛋白】
其中「馬鈴薯」才是主角,但它並不是食品添加物。
若我把所有非分類項目丟到「其他」,那「其他」的比例就會膨脹得超大,完全失焦。
這樣邏輯就清楚多了 ✅
但問題來了:「生成長條圖的意義是什麼?要提醒使用者少吃一點嗎?」
其實食品添加物本來就是加工食品的必要一環,單純數量統計很難直接建議「該不該吃」。
於是我靈機一動:
👉 為什麼不改成視覺化營養素呢?Bingo! 🎉
加入性別選項(因為營養素建議攝取量跟性別有關)
BMI 計算邏輯
新增蛋白質輸入欄位:因為蛋白質對肌肉維持特別重要。
依照用戶吃的份量(整包、半包、1/4包)繪製「每日營養素攝取比例」長條圖,顯示「碳水化合物、蛋白質、總脂肪、總糖、總鈉」各自佔每日建議攝取量的百分比。
顏色規則:
這次直接靠顏色標示,不用再煩惱中文字型啦!
邊做邊修正,改動超多東西,真是有趣XD然後1/4包500克的洋芋片真的是增肥神器...
明日進度:
設定 Azure AI Services (或 Azure Cognitive Services for Vision) 的 OCR 服務。
撰寫一個簡單的 Python 程式碼,使用一個營養標示圖片進行 OCR 服務呼叫,並印出返回的 JSON 結構,確認服務能正常運作。
加油!!